﻿//namespace FFF.Test.Application.Demo.Jobs
//{
//    using System;
//    using System.Linq;
//    using Abp.BackgroundJobs;
//    using Abp.Dependency;
//    using Abp.Domain.Uow;
//    using Abp.EntityFrameworkCore;
//    using Abp.Threading;
//    using FFF.Test.Application.Repositories.Demo;
//    using FFF.Test.DataAccess.Framework;
//    using FFF.Test.Entity.Demo.Dto;
//    using FFF.Test.Util;
//    using Microsoft.EntityFrameworkCore;
//    using Senparc.Weixin.MP.AdvancedAPIs.TemplateMessage;

//    /// <summary>
//    /// Demo模块Job 用于处理后台的一些任务
//    /// </summary>
//    public class DemoJob : BackgroundJob<DemoJobArgs>, ITransientDependency
//    {
//        /// <summary>
//        /// 学生仓储
//        /// </summary>
//        private readonly IDemoStudentTeRepository _demoStudentTeRepository;

//        /// <summary>
//        /// Initializes a new instance of the <see cref="DemoJob"/> class.
//        /// 构造函数
//        /// </summary>
//        /// <param name="demoStudentTeRepository">学生仓储</param>
//        public DemoJob(
//              IDemoStudentTeRepository demoStudentTeRepository
//            )
//        {
//            this._demoStudentTeRepository = demoStudentTeRepository;
//        }

//        /// <summary>
//        /// job执行方法
//        /// </summary>
//        /// <param name="args">参数</param>
//        [UnitOfWork(isTransactional: false)]
//        public override void Execute(DemoJobArgs args)
//        {
//            var stdentInfo = AsyncHelper.RunSync(() => this._demoStudentTeRepository.GetView().FirstOrDefaultAsync(x => x.Id == args.StudentGUID));
//            if (stdentInfo != null)
//            {
//                DemoStudentTeUpdateInputDto updateInputDto = new DemoStudentTeUpdateInputDto()
//                {
//                    Id = args.StudentGUID,
//                    StudentLevel = Entity.Demo.DemoStudentTeStudentLevelEnum.学霸
//                };

//                AsyncHelper.RunSync(() => this._demoStudentTeRepository.UpdateByDtoAsync(updateInputDto));
//            }
//        }
//    }

//    /// <summary>
//    /// job参数
//    /// </summary>
//    [Serializable]
//    public class DemoJobArgs
//    {
//        /// <summary>
//        /// 学生GUID
//        /// </summary>
//        /// <value>The student unique identifier.</value>
//        /// <remarks>于大明</remarks>
//        public Guid StudentGUID { get; set; }
//    }
//}
